From: Óscar Fernández Díaz Date: Mon, 11 Aug 2025 17:00:10 +0000 (+0200) Subject: extensions-app: Use new AdwPreferencesGroup's bind_model X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~104^2^2~85 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1814c28e5a267b826310b9edd6a2ff2148c08800;p=gnome-shell.git extensions-app: Use new AdwPreferencesGroup's bind_model Allows us to get rid of GtkListBox and bind extension models directly to each AdwPreferencesGroup. Part-of: --- diff --git a/subprojects/extensions-app/data/ui/extensions-window.ui b/subprojects/extensions-app/data/ui/extensions-window.ui index 5931ce4e4..a699140b5 100644 --- a/subprojects/extensions-app/data/ui/extensions-window.ui +++ b/subprojects/extensions-app/data/ui/extensions-window.ui @@ -180,17 +180,6 @@ bind-source="userListModel" bind-property="n-items" bind-flags="sync-create"/> - - - none - - userGroup - - - - @@ -200,17 +189,6 @@ bind-source="systemListModel" bind-property="n-items" bind-flags="sync-create"/> - - - none - - systemGroup - - - - @@ -225,18 +203,10 @@ - - - - none - - Search Results - - - - + + + Search Results + diff --git a/subprojects/extensions-app/js/extensionsWindow.js b/subprojects/extensions-app/js/extensionsWindow.js index c8086c615..fdb60de28 100644 --- a/subprojects/extensions-app/js/extensionsWindow.js +++ b/subprojects/extensions-app/js/extensionsWindow.js @@ -24,10 +24,8 @@ export const ExtensionsWindow = GObject.registerClass({ 'systemListModel', 'searchListModel', 'userGroup', - 'userList', 'systemGroup', - 'systemList', - 'searchList', + 'searchGroup', 'mainStack', 'searchBar', 'searchEntry', @@ -80,10 +78,7 @@ export const ExtensionsWindow = GObject.registerClass({ this._searchListModel.connect('notify::n-items', () => this._syncVisiblePage()); - this._userList.connect('row-activated', (_list, row) => row.activate()); this._userGroup.connect('notify::visible', () => this._syncVisiblePage()); - - this._systemList.connect('row-activated', (_list, row) => row.activate()); this._systemGroup.connect('notify::visible', () => this._syncVisiblePage()); const {extensionManager} = this.application; @@ -97,11 +92,11 @@ export const ExtensionsWindow = GObject.registerClass({ this._sortModel.model = extensionManager.extensions; - this._userList.bind_model(this._userListModel, + this._userGroup.bind_model(this._userListModel, extension => new ExtensionRow(extension)); - this._systemList.bind_model(this._systemListModel, + this._systemGroup.bind_model(this._systemListModel, extension => new ExtensionRow(extension)); - this._searchList.bind_model(this._searchListModel, + this._searchGroup.bind_model(this._searchListModel, extension => new ExtensionRow(extension)); extensionManager.connect('extensions-loaded',